﻿using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
using com.clinica.business.BE.estadistica;
using com.clinica.business.entities;
using com.clinica.business.BE.gesliq;
using com.clinica.business.BE.actdocpago;
using com.clinica.business.BE.actcliente;
using LiclUtil;

namespace LiclEstadistica.Views
{
    public class LiclCiaSegurosPresenter : Viewer<ILiclCiaSeguros>
    {
        LiclCiaSegurosController oController = new LiclCiaSegurosController();
        public LiclCiaSegurosPresenter()
        { 
        
        }

        public void onObterner_Reporte(CiaSegurosBE oParm)
        {
            try
            {
                List<CiaSegurosBE> lstParam = new List<CiaSegurosBE>();
                lstParam = oController.Obtener_Reporte(oParm);
                View.ObtenerReporte(lstParam);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void onObterner_Reporte_Liquidacion(LiquidacionBE oParm, DateTime dtFecha_Inicio, DateTime dtFecha_Fin)
        {
            try
            {
                List<LiquidacionBE> lstParam = new List<LiquidacionBE>();
                lstParam = oController.Obtener_Reporte_Liquidacion(oParm, dtFecha_Inicio, dtFecha_Fin);
                View.ObtenerReporteLiq(lstParam);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void onObterner_Reporte_DocPago_Tipo(DocumentoPagoBE oParm, DateTime dtFecha_Inicio, DateTime dtFecha_Fin)
        {
            try
            {
                List<DocumentoPagoBE> lstParam = new List<DocumentoPagoBE>();
                lstParam = oController.Obtener_Reporte_DocPago_Tipodoc(oParm, dtFecha_Inicio, dtFecha_Fin);
                View.ObtenerReporteDocPago(lstParam);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void onObterner_Reporte_DocPago_Cliente(DocumentoPagoBE oParm, DateTime dtFecha_Inicio, DateTime dtFecha_Fin)
        {
            try
            {
                List<DocumentoPagoBE> lstParam = new List<DocumentoPagoBE>();
                lstParam = oController.Obtener_Reporte_DocPago_Cliente(oParm, dtFecha_Inicio, dtFecha_Fin);
                View.ObtenerReporteDocPago(lstParam);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void onObterner_Reporte_DocPago_Cia(DocumentoPagoBE oParm, DateTime dtFecha_Inicio, DateTime dtFecha_Fin)
        {
            try
            {
                List<DocumentoPagoBE> lstParam = new List<DocumentoPagoBE>();
                lstParam = oController.Obtener_Reporte_DocPago_Cia(oParm, dtFecha_Inicio, dtFecha_Fin);
                View.ObtenerReporteDocPago(lstParam);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
        }

        public void onObterner_Tabla(ParametrosBE oParm, int intTipo)
        {
            try
            {
                List<ParametrosBE> lstParam = new List<ParametrosBE>();
                lstParam = oController.Obtener_Tabla(oParm);
                View.ObtenerTabla(lstParam, intTipo);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);

            }
        }
        public List<ClienteBE> onObterner_cliente(int tipo, string Nombre)
        {
            List<ClienteBE> lstParam = new List<ClienteBE>();
            try
            {
                lstParam = oController.Obtener_Cliente(tipo, Nombre);
            }
            catch (Exception ex)
            {
                View.MostrarMensajeError(ex.Message);
            }
            return lstParam;
        }
    }
}
